1. Field of the Invention
The present invention relates generally to catalogs in shared-storage multiprocessor systems and more particularly to the sharing of catalogs in such a system.
2. Description of the Related Art
In today's information technology industry, customers desire systems that have better performance and cost improvements over their current systems, while permitting continued use of their existing applications. High availability is also important given today's rising mobile workforce and ability for global connectivity through the Internet. Current processing system designs for information technology applications must provide scalable, granular growth, and continuous application availability. Clustering technology, such as IBM Corporation's z/OS Sysplex, has been developed to achieve these design needs.
A cluster arrangement links individual data processing systems in a manner that creates a single, powerful system, which can support numerous users simultaneously. A cluster offers high availability and excellent scalability. If one system/node in the cluster fails, the other systems in the cluster continue to run.
In such a multiprocessor system, catalogs typically are used to categorize data. Typically, in cluster arrangements such as IBM's z/OS, an integrated catalog facility (ICF) structure is utilized to support shared catalogs. A catalog is a data set that contains information about other data sets. It provides users with the ability to locate a data set by name, without knowing where the data set resides. By cataloging data sets, users will need to know less about the storage setup. Thus, data can be moved from one device to another, without requiring a change in statements that refer to an existing data set.
Cataloging data sets simplifies backup and recovery procedures. Catalogs are the central information point for Virtual Storage Access Method (VSAM) data sets: all VSAM data sets must be cataloged. In addition, all System Managed Storage (SMS) managed data sets must be cataloged.
In conventional systems, an Integrated Catalog Facility (ICF) Catalog component supports shared catalogs by maintaining a local system cache of recently accessed catalog records in main memory on each system and a list of catalog updates in what is called a “sharing subcell” in the data VSAM Volume Record (VVR) contained in the VSAM Volume Data Set (VVDS) on a direct access storage device (DASD) memory subsystem. Whenever a request is made to a shared catalog, the Catalog component must read the sharing subcell from the DASD memory subsystem, to verify the currency of the locally cached records on that system. This is referred to as “VVDS sharing”.
The local DASD subsystem is updated from the change information contained in the sharing subcell. If a catalog request involves a modification to the catalog, this information is written to the sharing subcell on the DASD subsystem. Significant overhead in terms of cross-system communication and long-duration I/O activity occurs for each such catalog request. Field experience indicates the elapsed time to process a request against a shared catalog can be up to five times longer than the same request against an unshared catalog.
In order for a system to access this data, the disk must be locked out from all other systems while the I/O operation executes. This approach is time-consuming and also makes the disk unavailable to other systems for relatively long periods of time.
Enhanced Catalog Sharing (ECS), which is implemented in IBM's z/OS, addresses these limitations by utilizing a Coupling Facility processor for storing an entire data volume record. The processor contains control information for catalogs being shared among host systems. The processor also allows for cross-notification between systems when changes occur to the catalog control information. In so doing the host computers can access the processor directly rather than having to obtain the information from a DASD memory subsystem. Accessing processor memory (e.g. RAM) is faster than I/O activity on a hard disk such as the DASD memory subsystem.
ECS uses a Coupling Facility cache structure to contain the integrity VVR of each active shared catalog. Each system's Catalog function includes an ECS function that connects each catalog the ECS cache structure in the Coupling Facility. This shifts storage of the VVR from DASD to cache in the Coupling Facility, which greatly reduces I/O to DASD. This results in a significant performance improvement.
Each local system still reads data directly from DASD when the catalog updates indicate that the locally cached records are no longer current. Furthermore each local system writes data to DASD when the local system makes a change to the data, and causes a catalog update to be recording in the sharing subcell. The drastic reduction in I/O activity to DASD is attributable to eliminating VVDS sharing during normal operations. The local system Catalog component no longer reads the sharing subcell from the DASD memory subsystem to verify the currency of the locally cached records on that system every time the system needs to access its locally cached records and no longer writes catalog updates to the sharing subcell on DASD each time an update occurs. The coupling facility will from time-to-time update the sharing subcell on DASD when maintenance or a system reset occurs.
If maintenance of a catalog is required, either regularly scheduled maintenance or do to an error, the systems' ECS functions disconnect all of the catalogs from the ECS cache structure and the local systems revert to using VVDS sharing for all catalog updates. The Catalog component on each system then purges all local cache for each catalog that was previously in ECS. Once maintenance is completed, the systems' ECS functions reconnect the catalogs to rebuild the ECS cache structure. Once rebuilt, VVDS sharing is suspended and the cluster resumes ECS.